Ext.namespace('pages.p2p.cj.query');

pages.p2p.cj.query.UpdateImg = function(config) {
	Ext.apply(this, config);
	/** 操作类型 */
	this.operType = config.operType;
	this.record = config.record;
	this.initUIComponents();
	pages.p2p.cj.query.UpdateImg.superclass.constructor.call(this);
};

Ext.extend(pages.p2p.cj.query.UpdateImg, Ext.Window, {
	initUIComponents : function() {
		this.form = new Ext.form.FormPanel({
			layout : 'column',
			height : 200,
			labelWidth : 95,
			id : 'upform',
			labelAlign : 'center',
			autoScroll : false,
			border : false,
			frame : false,
			bodyStyle : 'padding:5',
			fileUpload : true,
			items : [{
						columnWidth : 1,
						height : 10,
						border : false
					}, {
						columnWidth : 1,
						layout : 'form',
						border : false
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [{
									fieldLabel : '员工号',
									xtype : 'textfield',
									allowBlank : false,
									name : 'gyh',
									anchor : '98%',
									readOnly : true,
									id : 'A_GYH'
								}]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [{
									fieldLabel : '姓名',
									xtype : 'textfield',
									allowBlank : false,
									name : 'xm',
									anchor : '98%',
									id : 'A_XM'
								}]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [{
									fieldLabel : '人员岗位信息',
									xtype : 'textfield',
									allowBlank : false,
									name : 'rygw',
									anchor : '98%',
									id : 'A_RYGW'
								}]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [new Ext.form.ComboBox({
									fieldLabel : '性别',
									name : 'xb',
									id : 'A_XB',
									store : new Ext.data.SimpleStore({
												fields : ['VALUE', 'TEXT'],
												data : [['00', '女'],
														['01', '男']]
											}),
									valueField : 'VALUE',
									displayField : 'TEXT',
									hiddenName : 'xb',
									triggerAction : 'all',
									mode : 'local',
									editable : false,
									selectOnFocus : true,
									allowBlank : false,
									anchor : '98%',
									value : '01'
								})]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [{
									fieldLabel : '修改时间',
									xtype : 'datefield',
									anchor : '90%',
									name : 'lrsj',
									id : 'LRSJ',
									format : 'Y-m-d',
									allowBlank : false,
									hideTrigger : true,
									value : new Date(),
									readOnly : true,
									anchor : '98%'
								}]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [{
									fieldLabel : '人员照片',
									xtype : 'textfield',
									inputType : 'file',
									name : 'file',
									id : 'FILE',
									disabled : false,
									allowBlank : false,
									anchor : '98%'
								}],
						listeners : {
							'render' : this.onShowImg.createDelegate(this)
						}
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						labelWidth : 115,
						items : [{
									fieldLabel : '人员照片预览(原)',
									xtype : 'textfield',
									name : 'picPath',
									anchor : '98%',
									readOnly : true,
									hidden : true,
									id : 'A_PICY'
								}]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						labelWidth : 115,
						items : [{
									fieldLabel : '人员照片预览(新)',
									xtype : 'textfield',
									// name : 'A_PIC',
									anchor : '98%',
									readOnly : true,
									hidden : true,
									id : 'A_PIC'
								}]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [{
							xtype : 'box',
							name : 'IMGBOXY',
							id : 'IMGBOXY',
							anchor : '98%',
							autoEl : {
								tag : 'img',
								type : 'image',
								style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:300px;height:360px;text-align:center;',
								complete : 'off'
							}
						}]
					}, {
						columnWidth : .5,
						layout : 'form',
						border : false,
						items : [{
							xtype : 'box',
							name : 'IMGBOX',
							id : 'IMGBOX',
							anchor : '98%',
							autoEl : {
								tag : 'img',
								type : 'image',
								style : 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);width:300px;height:360px;text-align:center;',
								complete : 'off'
							}
						}]
					}],
			tbar : [{
						text : '修改',
						iconCls : 'save',
						handler : this.onAdd.createDelegate(this)
					}, {
						text : '关闭',
						iconCls : 'close',
						handler : function() {
							this.close();
						}.createDelegate(this)
					}]

		});

		Ext.apply(this, {
					id : 'updateCj',
					title : '修改人员照片',
					border : false,
					layout : 'fit',
					style : {
						marginRight : 'auto',
						marginLeft : 'auto'
					},
					width : 600,
					height : 540,
					modal : true,
					items : [this.form],
					listeners : {
						'render' : this.initData.createDelegate(this)
					}
				});
	},
	initData : function() {
		Ext.getCmp('A_GYH').setValue(this.record.get('GYH'));
		Ext.getCmp('A_XM').setValue(this.record.get('REAL_NAME'));
		Ext.getCmp('A_RYGW').setValue(this.record.get('RYGW'));
		Ext.getCmp('A_XB').setValue(this.record.get('XB'));
		Ext.getCmp('A_PICY').setValue(this.record.get('PIC_PATH'));
		var now = new Date().getTime();
		var url = baseUrl + '/cj/downloadFile.do?picPath='
				+ this.record.get('PIC_PATH') + '&now=' + now;
		Ext.getCmp('IMGBOXY').autoEl.src = url;
	},

	onAdd : function() {
		var xb = Ext.getCmp('FILE').getValue();
		if (Ext.isEmpty(xb)) {
			Ext.getCmp('FILE').disabled = true;
		} else {
			var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/;
			var url = "file://" + xb;
			if (!img_reg.test(url)) {
				Ext.Msg.alert('提示', '非图片类型的文件,不能提交');
				return;
			}
		}
		Ext.getBody().mask("正在保存,请稍候...");
		this.form.getForm().submit({
					method : 'post',
					url : ExtJ.getActionPath('cj/updateFile.do'),
					reset : false,
					success : function(option, action) {
						var text = Ext.decode(action.response.responseText);
						if (text.isSuc) {
							this.close();
							Ext.Msg.alert('提示', '修改成功!');
						} else {
							Ext.Msg.alert('提示', text.msg);
						}
						Ext.getBody().unmask(true);
						Ext.getCmp('grid').getStore().reload();
					}.createDelegate(this)
				});

	},

	onCancel : function() {
		this.close();
	},
	onShowImg : function() { // 图片预览
		var formPanel = this.formPanel;
		var uploadImage = Ext.getCmp('FILE');
		uploadImage.on('change', function(e, t, eOpts) {
			// 上传图片类型,在前台的拦截
			var img_reg = /\.([jJ][pP][gG]){1}$|\.([jJ][pP][eE][gG]){1}$|\.([gG][iI][fF]){1}$|\.([pP][nN][gG]){1}$|\.([bB][mM][pP]){1}$/;
			// 得到选择的图片路径
			var path = uploadImage.getValue();
			if (path != null && !Ext.isEmpty(path)) {
				var url = "file://" + path;
				// 是否是规定的图片类型
				if (img_reg.test(url)) {
					var imageShow_box = Ext.getCmp('IMGBOX'); // 预览的图片框对象
					if (Ext.isIE) { // IE浏览器
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = Ext.BLANK_IMAGE_URL; // 覆盖原来的图片
						imageShow_box_dom.filters
								.item("DXImageTransform.Microsoft.AlphaImageLoader").src = url;
					} else {
						var file = uploadImage.getEl().dom.files[0];
						var imageShow_box_dom = imageShow_box.getEl().dom;
						imageShow_box_dom.src = window.URL
								.createObjectURL(file);
					}
				} else {
					Ext.Msg.alert('提示', '请选择图片类型的文件！');
				}
			}
		}, this);
	}

});